@@ -155,13 +155,11 @@ module Agents |
||
155 | 155 |
return unless in_url.present? |
156 | 156 |
|
157 | 157 |
Array(in_url).each do |url| |
158 |
- check_url(url).map do |doc| |
|
159 |
- create_event payload: doc |
|
160 |
- end |
|
158 |
+ check_url(url) |
|
161 | 159 |
end |
162 | 160 |
end |
163 | 161 |
|
164 |
- def check_url(url) |
|
162 |
+ def check_url(url, payload = {}) |
|
165 | 163 |
log "Fetching #{url}" |
166 | 164 |
response = faraday.get(url) |
167 | 165 |
raise "Failed: #{response.inspect}" unless response.success? |
@@ -174,13 +172,12 @@ module Agents |
||
174 | 172 |
end |
175 | 173 |
doc = parse(body) |
176 | 174 |
|
177 |
- results = [] |
|
178 | 175 |
if extract_full_json? |
179 | 176 |
if store_payload!(previous_payloads(1), doc) |
180 | 177 |
log "Storing new result for '#{name}': #{doc.inspect}" |
181 |
- results << doc |
|
178 |
+ create_event payload: payload.merge(doc) |
|
182 | 179 |
end |
183 |
- return results |
|
180 |
+ return |
|
184 | 181 |
end |
185 | 182 |
|
186 | 183 |
output = |
@@ -211,28 +208,21 @@ module Agents |
||
211 | 208 |
|
212 | 209 |
if store_payload!(old_events, result) |
213 | 210 |
log "Storing new parsed result for '#{name}': #{result.inspect}" |
214 |
- results << result |
|
211 |
+ create_event payload: payload.merge(result) |
|
215 | 212 |
end |
216 | 213 |
end |
217 |
- |
|
218 |
- results |
|
219 | 214 |
} |
220 | 215 |
rescue => e |
221 | 216 |
error "Error when fetching url: #{e.message}\n#{e.backtrace.join("\n")}" |
222 |
- return [] |
|
223 | 217 |
end |
224 | 218 |
|
225 | 219 |
def receive(incoming_events) |
226 | 220 |
incoming_events.each do |event| |
227 | 221 |
interpolate_with(event) do |
228 | 222 |
url_to_scrape = event.payload['url'] |
229 |
- docs = [] |
|
230 |
- docs = check_url(url_to_scrape) if url_to_scrape =~ /^https?:\/\//i |
|
231 |
- docs.each do |doc| |
|
232 |
- new_payload = interpolated['mode'].to_s == "merge" ? event.payload.dup : {} |
|
233 |
- new_payload.merge! doc |
|
234 |
- create_event payload: new_payload |
|
235 |
- end |
|
223 |
+ next unless url_to_scrape =~ /^https?:\/\//i |
|
224 |
+ check_url(url_to_scrape, |
|
225 |
+ interpolated['mode'].to_s == "merge" ? event.payload : {}) |
|
236 | 226 |
end |
237 | 227 |
end |
238 | 228 |
end |